using System;
using System.Collections.Generic;
using ns26;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("FriendListFriendFrame")]
	public class FriendListFriendFrame : FriendListBaseFriendFrame
	{
		public static float REFRESH_FRIENDS_SECONDS => MonoClass.smethod_6<float>(TritonHs.MainAssemblyPath, "", "FriendListFriendFrame", "REFRESH_FRIENDS_SECONDS");

		public FriendListChallengeButton m_ChallengeButton => method_3<FriendListChallengeButton>("m_ChallengeButton");

		public FriendListFriendFrameBones m_Bones => method_3<FriendListFriendFrameBones>("m_Bones");

		public FriendListFriendFrameOffsets m_Offsets => method_3<FriendListFriendFrameOffsets>("m_Offsets");

		public GameObject m_FSGHighlight => method_3<GameObject>("m_FSGHighlight");

		public List<Component> m_rightComponentOrder => method_3<Class251<Component>>("m_rightComponentOrder")?.method_25();

		public bool IsFSGPatron => method_11<bool>("get_IsFSGPatron", Array.Empty<object>());

		public bool IsFSGInnkeeper => method_11<bool>("get_IsFSGInnkeeper", Array.Empty<object>());

		public FriendListFriendFrame(IntPtr address, string className)
			: base(address, className)
		{
		}

		public FriendListFriendFrame(IntPtr address)
			: this(address, "FriendListFriendFrame")
		{
		}

		public static void OnPlayerChallengeButtonPressed(FriendListChallengeButton challengeButton, BnetPlayer player)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "FriendListFriendFrame", "OnPlayerChallengeButtonPressed", challengeButton, player);
		}

		public static void OnLeaveSpectatingDialogResponse(AlertPopup.Response response, object userData)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "FriendListFriendFrame", "OnLeaveSpectatingDialogResponse", response, userData);
		}

		public static void OnKickSpectatorDialogResponse(AlertPopup.Response response, object userData)
		{
			MonoClass.smethod_18(TritonHs.MainAssemblyPath, "", "FriendListFriendFrame", "OnKickSpectatorDialogResponse", response, userData);
		}

		public new void Awake()
		{
			method_8("Awake");
		}

		public void OnEnable()
		{
			method_8("OnEnable");
		}

		public new bool SetFriend(BnetPlayer player)
		{
			return method_11<bool>("SetFriend", new object[1] { player });
		}

		public new void UpdateFriend()
		{
			method_8("UpdateFriend");
		}

		public void OnChallengeButtonReleased(UIEvent e)
		{
			method_8("OnChallengeButtonReleased", e);
		}

		public void UpdateLayout()
		{
			method_8("UpdateLayout");
		}

		public Vector3 AddWidth(Component component)
		{
			return method_11<Vector3>("AddWidth", new object[1] { component });
		}

		public void LayoutLeftText(UberText text, Transform bone, Vector3 offset, Component rightComponent)
		{
			method_8("LayoutLeftText", text, bone, offset, rightComponent);
		}

		public float ComputeLeftComponentWidth(Transform bone, Vector3 offset, Component rightComponent)
		{
			return method_11<float>("ComputeLeftComponentWidth", new object[3] { bone, offset, rightComponent });
		}
	}
}
